package com.phantasy.caches
{
	import flash.utils.ByteArray;
	
	import mx.core.Singleton;

	/**
	 * 缓存管理器
	 * @author Liseen
	 * 
	 */	
	public class CacheManager
	{
		private static var _instance:CacheManager;
		private var _allowCache:Boolean;			
		public function CacheManager(value:Singleton)
		{
			
		}
		/**
		 *获取缓存管理器实例 
		 * @return 
		 * 
		 */		
		public static function getInstance():CacheManager
		{
			if(CacheManager._instance==null)
			{
				CacheManager._instance = new CacheManager(new Singleton());
			}
			
			return  CacheManager._instance;
		}
		
		/**
		 *是否允许缓存 
		 * @return 
		 * 
		 */		
		public function get allowCache():Boolean
		{
			return this._allowCache;
		}
		/**
		 *检测是否在SO中有对应的资源存在 
		 * @param urlKey	key
		 * @param version	版本
		 * 
		 */		
		public function isExistResource(urlKey:String,version:String=null):ByteArray
		{
			return null;
		}
		
		/**
		 *读取文件 
		 * @param url			路径
		 * @param callBack		回调方法
		 * @param cloneData		是否克隆数据
		 * 
		 */		
		public function readFile(url:String, callBack:Function, cloneData:Boolean=false):void
		{
			
		}
		/**
		 *写文件 
		 * @param key			路径
		 * @param data			数据
		 * @param callBack		回调
		 * @param idDatas		是否为数据类型
		 * 
		 */		
		public function writeFile(key:String, data:ByteArray, callBack:Function=null, idDatas:Boolean=false):void
		{
			
		}
	}
}

class Singleton 
{
	
	
}